package com.helper;

import com.google.protobuf.InvalidProtocolBufferException;
import com.googlecode.protobuf.format.JsonFormat;
import com.proto.TMessage;
import com.google.protobuf.GeneratedMessageV3;
import org.luaj.vm2.ast.Str;

public class ProtoJson {

    public static String Proto2Json(com.google.protobuf.GeneratedMessageV3 model){
        String json = JsonFormat.printToString(model);
        return json;



    }

    public static TMessage.Body Json2Body(String json) throws JsonFormat.ParseException {
        TMessage.Body.Builder model = null;
        model = TMessage.Body.newBuilder();
        JsonFormat.merge(json, model);;
        return model.build();
    }
    public static TMessage.Words Json2Words(String json) throws JsonFormat.ParseException {
        TMessage.Words.Builder model = null;
        model = TMessage.Words.newBuilder();
        JsonFormat.merge(json, model);;
        return model.build();
    }
//    public static byte[] Json2Proto(String json) throws JsonFormat.ParseException {
//        com.google.protobuf.GeneratedMessageV3.Builder model = null;
//        model = TMessage.Bo.newBuilder();
//        switch (type){
//            case FieldDic.Vector3:
//
//                JsonFormat.merge(json, model);;
//                break;
//
//            case FieldDic.Vector4:
//                model = TMessage.MVector4.newBuilder();
//                JsonFormat.merge(json, model);;
//                break;
//
//            case FieldDic.Json:
//                model = TMessage.Json.newBuilder();
//                JsonFormat.merge(json, model);;
//                break;
//        }
//        if(model!= null){
//            return model.build().toByteArray();
//        }
//        return null;
//    }
}
